home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 045a / btp15.zip / README.1ST < prev    next >
Text File  |  1991-11-09  |  9KB  |  151 lines

  1. BTP - The Btrieve Unit for Turbo Pascal 6.0              (C) 1991 John C. Leon
  2. (* ------------------------------------------------------------------------ *)
  3. Version 1.5, 11/9/91
  4.  
  5. ** DISCLAIMER AND LICENSE ***************************************************
  6. This unit was authored by and is the copyrighted property of John C. Leon.
  7. It is supplied without warranty of any kind, and without any representations
  8. as to its usefulness or adequacy for any task.  Under no circumstances does
  9. the author take any responsiblity for loss or damage, alleged or actual,
  10. arising from usage of this property.  Use at your own risk.
  11.  
  12. THIS PRODUCT IS *NO LONGER* FREEWARE.  Use of this product beyond an initial
  13. trial period of 30 days obligates you to remit the registration fee of $25
  14. (for a non-corporate, non-commercial license) to:
  15.  
  16.                       John C. Leon
  17.                       3807 Wood Gardens Court
  18.                       Kingwood, TX  77339
  19.  
  20.                       713-359-3641     (residence)
  21.                       CIS #72426,2077  (Email responded to promptly)
  22.  
  23. Corporate users must contact me directly for licensing terms.  Production of
  24. a commercial product using this unit is strictly forbidden without permission
  25. and license.
  26.  
  27. Coming soon ONLY for licensed users...a Turbo Vision based Btrieve utility
  28. program for creating files, adding/dropping supplemental indices, reporting
  29. stats, cloning and crunching files, etc, etc.  Will be free to all registered
  30. BTP owners.
  31. *****************************************************************************
  32.  
  33. Pre-Requisites to Using this Software
  34. =====================================
  35. This unit provides a rich suite of Btrieve programming tools.  However, it is
  36. NOT an educational tool.  While proven to be extremely easy to use, it is
  37. assumed that you are familiar with Turbo Pascal 6.0, use of dynamic variables
  38. and pointers, object-oriented programming, and Novell's Btrieve product.
  39. BTP requires Turbo Pascal 6.0 and will NOT function with prior releases.
  40.  
  41. This unit was designed with, and has only been tested with, version 5.10a of
  42. Btrieve, with all current patches applied.  WARNING!  Do NOT use with other
  43. versions! Having said that, I have every reason to believe it will work fine
  44. with prior versions if you don't try to use the op codes that apply to later
  45. versions.
  46.  
  47. WHAT IT DOES!
  48. -------------
  49. It makes the Btrieve black box friendly!
  50.  
  51. Total support for standard, fixed-length Btrieve files, using all standard
  52. calls and the get/step extended calls.  While no specific support exists for
  53. extended insert calls, such calls can readily be made; an example of extended
  54. insert calls is in EXAMPLE2.PAS.
  55.  
  56. Imagine opening a Btrieve file in any mode, saving a "permanent" copy of its
  57. stats and structure, establishing and isolating its position block, and being
  58. able to refer to all your fields by name...all with just ONE SIMPLE CALL with
  59. only TWO PARAMETERS!!!  NO BTRIEVE CALL MADE WITH THIS UNIT'S TECHNIQUES
  60. REQUIRES MORE THAN TWO PARAMETERS (the op code and key number).  This is ONLY
  61. made possible with object-oriented programming and the encapsulation it
  62. provides.
  63.  
  64. INCLUDED in this distribution package are several useful Btrieve utilities
  65. that make full use of this unit.  The CLONE and CRUNCHx programs, in
  66. particular, illustrate the extraordinary ease of Btrieve programming with
  67. BTP!  The STATS program displays the same information as Novell's BUTIL
  68. program.  These utility programs alone are worth the $25 registration fee.
  69. Further, you are authorized to distribute these compiled utilities freely
  70. SO LONG AS YOU DO NOT MODIFY THE SOURCE CODE IN ANY WAY...INCLUDING MY
  71. COPYRIGHT NOTICES AND NAME.
  72.  
  73. Full details on BTP are to be found in the BTP.DOC file.  Aside from standard
  74. TP6-style OOP techniques, BTP uses collections to handle a list of filter and
  75. extractor specs for extended calls.  That's as sexy as it gets.  You don't
  76. even need to understand collections...just use them as illustrated in BTP.DOC,
  77. CRUNCH3.PAS and EXAMPLE2.PAS!  BTP creates, maintains, and disposes of those
  78. collections for you.  These collections and the provided object methods will
  79. transparently set buffer lengths for you, and construct your outgoing data
  80. buffers for extended calls.  THE SETUP DRUDGERY FOR GET/STEP EXTENDED CALLS
  81. IS COMPLETELY REMOVED!!
  82.  
  83. It is imperative that you read the sample programs and documentation.  They
  84. are structured carefully to take you gradually from the simplest BTP
  85. structures to the more "advanced".  The best news is that even the advanced
  86. structures are a piece of cake to deal with!  The suggested order for
  87. reviewing the programs is:
  88.  
  89. 1. VERSION: Quite simply, the shortest Btrieve program possible.  Just
  90.             displays a message revealing what Btrieve version is running.
  91. 2. STATS:   Reports stats on any Btrieve file.  Makes a single BTP style call,
  92.             after which you can immediately read the object's data fields
  93.             containing the file's stats.  Is an effective replacement for
  94.             'BUTIL - STAT', and can be distributed with your applications
  95.             freely.
  96. 3. CLONE:   Rivals VERSION in being about the shortest Btrieve program
  97.             possible, but is of GREAT use!  Make one BTP style call, then
  98.             execute just one BTP function to create a clone of the source file!
  99. 4. CREATE1: Example of creating a new file on the fly from within your appli-
  100.             cation.  Set the values in one BTP data type, and call one
  101.             function!
  102.             Included in this .ZIP file is a file named CREATE1.SPC.  This is a
  103.             standard description (spec) file that can be used to create the
  104.             'EXAMPLE' Btrieve file with Btrieve's own BUTIL program.
  105.             CREATE1.SPC is provided only to demonstrate that the CreateFile
  106.             function in the BTP product does generate files that are
  107.             byte-for-byte the same as if you used 'BUTIL -create'.
  108. 5. CREATE2: Same as CREATE1, but creates the file to use an alternate
  109.             collating sequence for ordering the keys.  Piece of cake w/BTP!
  110. 6. CRUNCH1: Creates a duplicate of a file, effectively "squishing" the file
  111.             to remove dead space.  Opens source file in read-only mode,
  112.             creates the target file and opens it in accelerated mode.  Reads
  113.             records one at time from source file, inserts them one at a time
  114.             into target file.  Uses non-extended calls exclusively.
  115. 7. CRUNCH2: Performs same functions as CRUNCH1, but uses extended inserts
  116.             to populate target file.
  117. 8. CRUNCH3: Performs same functions as CRUNCH1, but uses step next extended
  118.             and extended inserts.
  119. 9. EXAMPLE1:A simple program using BTP to insert records into a file of names.
  120.             Provided only to illustrate use of BTP and several Btrieve calls.
  121. 10.EXAMPLE2:Another simple program using BTP with extended calls.  Provided
  122.             only to illustrate syntax of initializing filter and extractor
  123.             specs for extended calls, and required function overrides.
  124.  
  125. ADDITIONAL BTP FEATURES
  126. =======================
  127. The BTP unit provides an initialization section that checks for presence of
  128. Btrieve in memory before running your main program.  You need never code such
  129. a test yourself again.  Just 'USES' this unit, and you're covered.
  130.  
  131. The universal Btrv function call IS INCLUDED in the BTP unit.  When using
  132. BTP, do NOT include the call from any other source.  It is used internally
  133. by BTP, and is available directly in its 'native' form if needed, exactly as
  134. defined on the Btrieve distribution disks from Novell.
  135.  
  136. Pascal's features have made it a pleasure to code this unit.  The inherent
  137. capabilities of Pascal records, in all their forms, have greatly facilitated
  138. what at first seemed a VERY difficult task.  The power and flexibility
  139. afforded by OOP's encapsulation and inheritance have reduced quick and dirty
  140. Btrieve programming to what it should be...quick (but not dirty!).  Examine
  141. the unit's source code and the example programs carefully.  You should find
  142. everything there you'll ever need.  If it ain't there, let me know and we'll
  143. make 'er better!
  144.  
  145. The DOTPC.BAT file is provided for your convenience.  Assuming the command
  146. line compiler, TPC.EXE, and a properly configured TPC.CFG file are in your
  147. path, you can run DOTPC to compile BTP and all the example programs quickly.
  148.  
  149.  
  150. ENJOY!  Constructive criticism and suggestions welcome.
  151.